package com.otv.model;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;


/**
 * Class Cliente.
 */

@Entity
@Table (name="re_cliente")

public class Cliente {

	/** El/la id. */
	@Id
	@Column(name="cl_id_cliente", unique=true, nullable=false)
	private int id;
	
	/** El/la rut. */
	@Column(name="cl_rut", unique=true, nullable=true)
	private String rut;
	
	/** El/la digito verificador. */
	@Column(name="cl_digito_verificador", unique=false, nullable=true)
	private char digitoVerificador;
	
	/** El/la nombre. */
	@Column(name="cl_nombre", unique=false, nullable=false)
	private String nombre;
	
	/** El/la apellido. */
	@Column(name="cl_apellido", unique=false, nullable=false)
	private String apellido;
	
	/** El/la telefono. */
	@Column(name="cl_telefono", unique=false, nullable=false)
	private String telefono;
	
	/** El/la descripcion. */
	@Column(name="cl_descripcion", unique=false, nullable=true)
	private String descripcion;
	
	/** El/la arriendos. */
	@OneToMany (fetch = FetchType.LAZY, mappedBy="cliente")
	private List<Arriendo> arriendos;

	/**
	 * Devuelve un(a) id.
	 *
	 * @return El/la id
	 */
	public int getId() {
		return id;
	}

	/**
	 * Asigna el/la id.
	 *
	 * @param id un(a) nuevo(a) id
	 */
	public void setId(int id) {
		this.id = id;
	}

	/**
	 * Devuelve un(a) rut.
	 *
	 * @return El/la rut
	 */
	public String getRut() {
		return rut;
	}

	/**
	 * Asigna el/la rut.
	 *
	 * @param rut un(a) nuevo(a) rut
	 */
	public void setRut(String rut) {
		this.rut = rut;
	}

	/**
	 * Devuelve un(a) digito verificador.
	 *
	 * @return El/la digito verificador
	 */
	public char getDigitoVerificador() {
		return digitoVerificador;
	}

	/**
	 * Asigna el/la digito verificador.
	 *
	 * @param digitoVerificador un(a) nuevo(a) digito verificador
	 */
	public void setDigitoVerificador(char digitoVerificador) {
		this.digitoVerificador = digitoVerificador;
	}

	/**
	 * Devuelve un(a) nombre.
	 *
	 * @return El/la nombre
	 */
	public String getNombre() {
		return nombre;
	}

	/**
	 * Asigna el/la nombre.
	 *
	 * @param nombre un(a) nuevo(a) nombre
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * Devuelve un(a) apellido.
	 *
	 * @return El/la apellido
	 */
	public String getApellido() {
		return apellido;
	}

	/**
	 * Asigna el/la apellido.
	 *
	 * @param apellido un(a) nuevo(a) apellido
	 */
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	/**
	 * Devuelve un(a) telefono.
	 *
	 * @return El/la telefono
	 */
	public String getTelefono() {
		return telefono;
	}

	/**
	 * Asigna el/la telefono.
	 *
	 * @param telefono un(a) nuevo(a) telefono
	 */
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	/**
	 * Devuelve un(a) descripcion.
	 *
	 * @return El/la descripcion
	 */
	public String getDescripcion() {
		return descripcion;
	}

	/**
	 * Asigna el/la descripcion.
	 *
	 * @param descripcion un(a) nuevo(a) descripcion
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	/**
	 * Devuelve un(a) arriendos.
	 *
	 * @return El/la arriendos
	 */
	public List<Arriendo> getArriendos() {
		return arriendos;
	}

	/**
	 * Asigna el/la arriendos.
	 *
	 * @param arriendos un(a) nuevo(a) arriendos
	 */
	public void setArriendos(List<Arriendo> arriendos) {
		this.arriendos = arriendos;
	}
}
